home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / presto / presto10.lha / src / c.h < prev    next >
C/C++ Source or Header  |  1991-12-11  |  2KB  |  82 lines

  1. #ifndef __presto__c_h__
  2. #define __presto__c_h__
  3.  
  4. /* C linkage */
  5.  
  6. #include <stddef.h>
  7. #include <sys/types.h>
  8. #include <string.h>
  9. #include <stdlib.h>       /* <libc.h> <malloc.h> */
  10. #include <osfcn.h>
  11. #include <sys/wait.h>
  12.  
  13.  
  14. /* system call and library function declarations (libc) */
  15.  
  16. extern "C" {
  17. int  nargs();
  18. #ifdef __DECCXX
  19. void bcopy(const void *, void *, int);
  20. #else
  21. int  rename(char *, char *); 
  22. #endif /* __DECCXX */
  23. int  cpus_online();
  24. char *shmalloc(long s);
  25. void shfree(char *);
  26. }
  27.  
  28. #ifdef sequent
  29. #include "parallel.h"
  30.  
  31.  
  32. // We need an slock_t throughout the C++ code. However,
  33. // it also needs to exist in the prepended assembler
  34. // macro file, where it is typedef'ed. To avoid multiple
  35. // typedef conflicts, we use #define here, and leave the
  36. // macro header as is.
  37.  
  38. #define slock_t unsigned char
  39.  
  40. extern "C" {
  41. int  getpagesize();
  42. int  mmap(caddr_t, int, int, int, int, off_t);
  43. int tmp_affinity (int);
  44. }
  45. #endif /* sequent */
  46.  
  47.  
  48. /* local C functions */
  49.  
  50. extern "C" {
  51. int   disable_interrupts();
  52. void  enable_interrupts();
  53. char *grab_nonmalloc_hunk(int);
  54. int   init_stack(void *, int *);
  55. void  preempt_reentry();
  56. }
  57.  
  58. /* Deal with bletcherous incompatibility between
  59.    dynix's sigvec handler and the POSIX (?) one
  60.  */
  61.  
  62. #ifdef mips
  63. #define sigvec_handler_t void
  64. #else
  65. #define sigvec_handler_t int
  66. #endif
  67.  
  68. /* DEC's C++ doesn't provide any useful
  69.    typedef's or defines for signal handling
  70.    functions. This is taken from AT&T's
  71.    C++ 2.1 sys/signal.h header prototype.
  72.  */
  73.  
  74. #ifdef __DECCXX
  75. typedef void SIG_FUNC_TYP(int);
  76. typedef SIG_FUNC_TYP *SIG_TYP;
  77. #define SIG_PF SIG_TYP
  78. #endif /* __DECCXX */
  79.  
  80. #endif /* __presto__c_h__ */
  81.  
  82.